home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / source / units / ansi.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-03-08  |  3.1 KB  |  172 lines

  1. UNIT ANSI;
  2.  
  3. INTERFACE
  4.  
  5.  CONST
  6.    Black=0;      Gray=8;
  7.    Red=1;        LightRed=9;
  8.    Green=2;      LightGreen=10;
  9.    Brown=3;      Yellow=11;
  10.    Blue=4;       LightBlue=12;
  11.    Magenta=5;    Pink=13;
  12.    Cyan=6;       LightCyan=14;
  13.    LightGray=7;  White=15;
  14.  
  15.  VAR
  16.    TClr,SClr:BYTE;
  17.  
  18.  PROCEDURE GotoPos(X,Y:INTEGER);
  19.  PROCEDURE CursorUp(Nr:INTEGER);
  20.  PROCEDURE CursorDown(Nr:INTEGER);
  21.  PROCEDURE CursorRight(Nr:INTEGER);
  22.  PROCEDURE CursorLeft(Nr:INTEGER);
  23.  PROCEDURE SavePosition;
  24.  PROCEDURE RestorePosition;
  25.  PROCEDURE ClearScreen;
  26.  PROCEDURE EraseLine;
  27.  PROCEDURE ScreenMode(Int:INTEGER);
  28.  PROCEDURE ReverseVideo;
  29.  PROCEDURE BlinkingText;
  30.  PROCEDURE IntenseText;
  31.  PROCEDURE DefaultVideo;
  32.  PROCEDURE ConcealedVideo;
  33.  PROCEDURE SetColor(Fore,Back:INTEGER);
  34.  PROCEDURE TextColor(Fore:INTEGER);
  35.  PROCEDURE ScreenColor(Back:INTEGER);
  36.  PROCEDURE Mode80x50;
  37.  PROCEDURE UseIntense;
  38.  PROCEDURE SetBorder(Color:BYTE);
  39.  
  40. IMPLEMENTATION
  41.  
  42.  PROCEDURE GotoPos(X,Y:INTEGER);
  43.   BEGIN
  44.     WRITE('',Y,';',X,'H');
  45.   END;
  46.  
  47.  PROCEDURE CursorUp(Nr:INTEGER);
  48.   BEGIN
  49.     WRITE('',Nr,'A');
  50.   END;
  51.  
  52.  PROCEDURE CursorDown(Nr:INTEGER);
  53.   BEGIN
  54.     WRITE('',Nr,'B');
  55.   END;
  56.  
  57.  PROCEDURE CursorRight(Nr:INTEGER);
  58.   BEGIN
  59.     WRITE('',Nr,'C');
  60.   END;
  61.  
  62.  PROCEDURE CursorLeft(Nr:INTEGER);
  63.   BEGIN
  64.     WRITE('',Nr,'D');
  65.   END;
  66.  
  67.  PROCEDURE SavePosition;
  68.   BEGIN
  69.     WRITE('s');
  70.   END;
  71.  
  72.  PROCEDURE RestorePosition;
  73.   BEGIN
  74.     WRITE('u');
  75.   END;
  76.  
  77.  PROCEDURE ClearScreen;
  78.   BEGIN
  79.     WRITE('');
  80.   END;
  81.  
  82.  PROCEDURE EraseLine;
  83.   BEGIN
  84.     WRITE('');
  85.   END;
  86.  
  87.  PROCEDURE ScreenMode(Int:INTEGER);
  88.   BEGIN
  89.     WRITE('=',Int,'h');
  90.   END;
  91.  
  92.  PROCEDURE ReverseVideo;
  93.   BEGIN
  94.     WRITE('');
  95.   END;
  96.  
  97.  PROCEDURE BlinkingText;
  98.   BEGIN
  99.     WRITE('');
  100.   END;
  101.  
  102.  PROCEDURE IntenseText;
  103.   BEGIN
  104.     WRITE('');
  105.   END;
  106.   
  107.  PROCEDURE DefaultVideo;
  108.   BEGIN
  109.     WRITE('');
  110.   END;
  111.  
  112.  PROCEDURE ConcealedVideo;
  113.   BEGIN
  114.     WRITE('');
  115.   END;
  116.  
  117.  PROCEDURE SetColor(Fore,Back:INTEGER);
  118.   VAR
  119.    S,T:STRING;
  120.   BEGIN
  121.     TClr:=Fore; SClr:=Back;
  122.     T:='';
  123.     IF (Fore>=8) AND (Fore<16) THEN
  124.      BEGIN Str((22+Fore):0,S); T:=T+';1;'+S; END;
  125.     IF (Fore>=0) AND (Fore<=7) THEN
  126.      BEGIN Str((30+Fore):0,S); T:=T+';'+S; END;
  127.     IF (Back>=0) AND (Back<=7) THEN
  128.      BEGIN Str((40+Back):0,S); T:=T+';'+S; END;
  129.     IF (Back>=8) AND (Back<16) THEN
  130.      BEGIN Str((32+Back):0,S); T:=T+';5;'+S; END;
  131.     T:=T+'m'; WRITE(T);
  132.   END;
  133.  PROCEDURE TextColor(Fore:INTEGER);
  134.   BEGIN
  135.     SetColor(Fore,SClr);
  136.   END;
  137.  
  138.  PROCEDURE ScreenColor(Back:INTEGER);
  139.   BEGIN
  140.     SetColor(TClr,Back);
  141.   END;
  142.  
  143.  PROCEDURE Mode80x50;
  144.   BEGIN
  145.     INLINE(184/2/18/179/48/205/16/184/3/0/205/16/184/18/17/179/0/205/16/184/18/17/179/0/205/16/184/0/76);
  146.   END;
  147.  
  148.  PROCEDURE UseIntense;
  149.   BEGIN
  150.      ASM
  151.        MOV AL,$10
  152.        MOV DX,$03D9
  153.        OUT DX,AL
  154.        MOV AX,$1003
  155.        MOV BL,$0
  156.        INT $10
  157.      END;
  158.   END;
  159.  
  160.  PROCEDURE SetBorder(Color:BYTE);
  161.   BEGIN
  162.      ASM
  163.        MOV AH,$0B
  164.        MOV BX,$0F
  165.        AND BL,Color
  166.        INT $10
  167.      END;
  168.   END;
  169.  
  170. BEGIN
  171. END.
  172.